package com.shujia.day17;

public class Demo01ClassObject {
    public static void main(String[] args) throws ClassNotFoundException {
        /*
            TODO
                类的对象 => 指 通过 new 的方式在堆内存空间中创造出来的 对象
                类对象  => 指通过类的.class文件构建出来 一个类型为 Class变量 = .class文件所在的内存空间 表示为一个对象

           TODO     类加载器：
                    类加载器的组成
                         Bootstrap ClassLoader 根类加载器
                            也被称为引导类加载器，负责Java核心类的加载  比如System,String等。核心类库下的类
                            在JDK中JRE的lib目录下rt.jar文件中 (.jar文件实际上是对当前Java项目进行编译打包所形成的一个压缩包)
                        Extension ClassLoader 扩展类加载器
                            负责JRE的扩展目录中jar包的加载。
                            在JDK中JRE的lib目录下ext目录
                        Sysetm ClassLoader 系统类加载器
                            负责在JVM启动时加载来自java命令的class文件，以及classpath环境变量所指定的jar包和类路径
           TODO
                类对象获取方式：
                       1.类名.class
                       2.对象.getClass()
                       3.反射 => 根据类所在的路径进行操作
               如果当程序已经知道了类的一些信息，比如方法，属性 那么是不是也可以对方法及属性进行调用
         */

        Class studentClass = Student.class;
        Student student = new Student();
        Class aClass = student.getClass();
        Class stu = Class.forName("com.shujia.day17.Student");
        System.out.println(studentClass == aClass);  // true
        System.out.println(studentClass == stu); // true


    }
}
